perm filename APPLIC[E76,JMC] blob
sn#232933 filedate 1976-08-20 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00005 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 .BB APPLICATIONS TO ARTIFICIAL INTELLIGENCE
C00005 00003 In order to discuss the AI (artificial intelligence)
C00014 00004
C00019 00005
C00025 ENDMK
C⊗;
.BB APPLICATIONS TO ARTIFICIAL INTELLIGENCE
The foregoing discussion of concepts has mainly concerned
translating into a suitable formal language certain sentences of
ordinary language. The success of the formalization is measured by
the extent to which the logical consequences of these sentences in
the formal system agree with our intuitions of what these
consequences should be. Another goal of such formalization is to
develop an idea of what concepts really are, but the possible
formalizations have not been explored enough to draw even tentative
conclusions about that.
For artificial intelligence, the study of concepts has yet a
different motivation. Our success in making computer programs with
%2general intelligence%1 has been extremely limited, and one source
of the limitation is our inability to formalize what the world is
like in general. We can try to separate the problem of describing
the general aspects of the world from the problem of using such a
description and the facts of a situation to discover a strategy for
achieving a goal. This is called separating the ⊗epistemological and
the ⊗heuristic parts of the artificial intelligence problem and is
discussed in (McCarthy and Hayes 1969).
A first order treatment of concepts has some special
advantages for AI.
.item ← 0;
#. Computer programs with common sense must deal with
multiple modalities - causality, belief, knowledge, and wanting.
It is important to introduce new ones without changing the basic logic.
#. Most of the work in theorem proving and formal problem solving
has used first order formalisms,
and the resolution method works best in first order logic.
In order to discuss the AI (artificial intelligence)
applications of a first order theory of concepts, we must first say
something about the state of AI formalisms for goal achievement.
Consider a computer program that, on the basis of facts about
a particular situation and general facts about the consequences of
actions and events, must find a course of action that will achieve a
goal. It must consider the consequences of various courses of action
in order to choose the best. The programs discussed so far in the
AI literature deal almost entirely with problems
meeting the following restrictions:
.item←0
#. Each AI program works with a data base containing information
about an isolated facet of experience.
#. The problems are %2quasi-static%1. That is, each action
taken by the robot whose course of action is to be determined
produces a new situation that depends only on the old situation
and the action taken. We don't have laws specifying the effects
of an action taken while other events are going on,
and each action is considered to terminate in
a definite new situation in which a new action can be taken.
Information is only given about the relation of the terminal
situation to the initial situation and the event that occurs.
The effect of a sequence of events is calculated by determining
the effect of each event on the situation resulting from its
predecessor.
#. Usually the course of action is a short sequence (less than 10)
of elementary actions. Few programs come up with general computer
programs as strategies.
#. As Moore (1976) points out, most procedure based programs
represent only complete sets of relevant information. Thus
they can represent the fact that a certain block is red, but
they usually cannot represent the weaker information that it is red or blue.
Predicate calculus based programs can represent such information,
but the search heuristics are usually inefficient, because they
are independent of the subject matter.
#. The frame problem (McCarthy and Hayes 1970) hasn't been
solved. This is the problem of specifying what remains unchanged
when an action takes place. A typical way of handling it is to
describe a situation by a collection of "facts" each of which
is a predicate name followed by a list of constant terms - usually
atomic. The effect of an action is described by listing which
sentences are to be deleted and which new ones added. This presupposes
a "frame" that co-ordinatizes all possible situations by giving
a collection of independent atomic facts. Predicate calculus
descriptions require collections of axioms listing what is unchanged
by an action.
This recital of limitations is not meant to denigrate the
work. Within the quasi-static complete information domain lie many
interesting and difficult problems, and much progress has been made
in searching the trees of possible situations that can result from
different sequences of actions.
Also none of the programs uses facts about knowledge. We see
the following uses for facts about knowledge:
.item←0
#. A program that wants to telephone someone must
reason about who knows the number. More generally, it must reason
about what actions will obtain needed knowledge. Knowledge in books
and computer files must be treated in a parallel way to knowledge
held by persons.
#. A program must often determine that it does not
know something or that someone else doesn't. This has been neglected
in the usual formalizations of knowledge, and methods of proving
possibility have been neglected in modal logic. Christopher Goad
(to be published) has shown how to prove ignorance by proving the
existence of possible worlds in which the sentence to be proved
unknown is false. Presumably proving one's own ignorance is
a stimulus to looking outside for the information. In competitive
situations, it may be important to show that a certain course
of action will leave competitors ignorant.
#. Prediction of the behavior of others depends
on determining what they believe and what they want.
Appendix 1 gives a set of axioms for knowledge that permits
deduction from %2"Pat knows Mike's telephone number"%1 and %2Pat
wants Joe to know Mike's telephone number"%1 that %2Joe will know
Mike's telephone number"%1. Treatments of the "dynamics" are a
first step towards AI applications. The axiomatization is quasi-static,
and the proof has about 15 steps. Since there is only one action -
Pat telling Joe Mike's telephone number, the frame problem (McCarthy
and Hayes 1969) doesn't arise. A more elaborate example in which
Joe wants to know Mike's telephone number, tells Pat that fact, and
leading to Pat telling Joe the number has been partially worked out.
but the treatment is not very satisfactory. Several frame axioms
are required, the proof would be quite long, and the previous result
cannot be used as a lemma for lack of frame axioms.
Of course, even the fifteen step proof is unrealistically
long, because humans don't make the deduction that if ⊗p1 wants ⊗p2
to know something thaπ ⊗p1 knows, then ⊗p1 will tell him and
⊗p2 will know it. The result is directly known rather than
deduced as needed.
The epistemological part of the problem is very difficult in
general so it is worthwhile to invent formalisms that are valid for
limited classes of problems. Therefore let us consider formalizing
the following fact about purposeful beings: %3Purposeful beings
do what they think will achieve their goals.%1
We attempt this formalization using our formalizations
of concepts and within what we call the %2quasi-static%1 model
of action. The quasi-static model assumes that actions are
discrete and happen one at a time, Each action changes the
situation into a new situation, and the next action by the same
or a different actor takes place in this new situation. Most
of the work in artificial intelligence so far has been within
the quasi-static model - usually without recognizing its
limitations.
The first problem we shall discuss in this framework
is extremely simple. We would like to deduce from the facts
that Pat knows Mike's telephone number and that he wants Joe
to know Mike's telephone number the conclusion that
Joe will come to know Mike's telephone number, (because Pat
will tell it to him). All sorts of simplifications will
be made.
****
A computer program with general intelligence must be able to
represent facts about what information it lacks and where and how it
is to be obtained. The example problem I have been considering is
that of representing what a traveler knows about the information airline clerks,
travel agents, and reservation computers, and airline guides have
relevant to a proposed trip.
This is still rather difficult, but the following considerations
have emerged:
.item←0
#. Unless we formalize ⊗knowing ⊗what, we add to our heuristic
difficulties, because the theorem prover or other reasoner has an extra
existential quantifier to deal with.
#. Similarly in treating belief we need something like
%2denot(Telephone Mike,Pat,s)%1 standing for what Pat believes Mike's
telephone number to be in the situation ⊗s.
Neither is formalized in the philosophical literature.
#. Modal logic offers difficulties especially as we need
often need multiple modalities like %2"believes he wants to know"%1
in a single sentence, and this makes the Kripke possible worlds
semantics for modal logic rather cumbersome.
Modal logic is especially troublesome if oblique contexts are
only a small part of the problem.
Moreover, it is preferable to be able to introduce new modalities
by introducing new predicates instead of having to change the logic.
#. For this reason, the most useful of the earlier treatments seemed
to involve making the argument of knowledge or belief a sentence
or term and weakening the Montague and Kaplan (1963) knowledge axioms
suitably to avoid their paradox. However, it is not easy to implement
a reasoning program that goes into quoted phrases.
Consider the following easier example:
Joe wants to know Mike's telephone number. He knows that
Pat knows it and that Pat likes Joe. We want the program to decide
on Joe's behalf to ask Pat for Mike's telephone number.
*****
This section will be completed with a set of axioms from
which together with the premisses
%2true Want(Joe,Know(Joe,Telephone Mike)),
true K(Joe,Know(Pat,Telephone Mike))%1,
and
%2true K(Joe,Like(Pat,Joe))%1,
we will be able to deduce
%2true Future Know(Joe,Telephone Mike)%1
entirely within the FOL formalism for first order logic.
.skip 3